package controller;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Observable;
import java.util.Observer;
import models.ProxyDictionary;
import view.DictionaryFrame;
public class Controller implements Observer, ActionListener {
private DictionaryFrame dictionaryFrame;
private ProxyDictionary dictionary;
public Controller(DictionaryFrame dictionaryFrame) {
this.dictionaryFrame = dictionaryFrame;
dictionaryFrame.removeSynonimButton.addActionListener(this);
dictionaryFrame.addSynonimButton.addActionListener(this);
dictionaryFrame.searchFilterButton.addActionListener(this);
dictionary = new ProxyDictionary();
dictionary.addObserver(this);
dictionary.populate();
dictionaryFrame.updateTable(dictionary);
}
@Override
public void actionPerformed(ActionEvent event) {
Object source = event.getSource();
if (source == dictionaryFrame.searchFilterButton) {
dictionaryFrame.updateTable(dictionary, dictionaryFrame.jTextField.getText());
} else if (source == dictionaryFrame.addSynonimButton) {
dictionary.addSynonim(dictionaryFrame.jTextFieldKey.getText(), dictionaryFrame.jTextFieldSyn.getText());
dictionaryFrame.updateTable(dictionary);
} else if (source == dictionaryFrame.removeSynonimButton) {
if (!dictionaryFrame.jTextFieldKey.getText().isEmpty()) {
dictionary.deleteSynonim(dictionaryFrame.jTextFieldKey.getText());
dictionaryFrame.updateTable(dictionary);
}
}
}
@Override
public void update(Observable arg0, Object arg1) {
dictionary.save();
}
}